package applications;

import java.util.LinkedList;
import java.util.List;

import jugador.Jugador;
import jugador.Persona;
import Ruleta.Mesa;

public class RuletaApplication {
	
	private Mesa mesaEnJuego = new Mesa();
	private List<Jugador> jugadores= new LinkedList<Jugador>();
	private Mesa mesaUsada= null;
	
	private static RuletaApplication instance = new RuletaApplication();
	
	public static RuletaApplication getInstance(){
		return instance;
	}

	public Mesa getMesa() {
		return mesaEnJuego;
	}
	
	public Mesa getMesaUsada(){
		return mesaUsada;
	}
	
	public Jugador creaJugador(String nombreActual, Integer fichas) {
		Jugador j = new Jugador(new Persona(nombreActual, fichas));
		mesaEnJuego.agregarJugador(j);
		jugadores.add(j);
		return j;
	}

	public boolean isEstaRepetido(String nombreActual) {
		boolean resultado=false;
		for (Jugador ju : jugadores) {
			if (ju.getNombre().equals(nombreActual)){
				resultado=true;
			}
		}
		return resultado ;
	}
	
	public List<Jugador> getJugadores(){
		return jugadores;
	}

	public Jugador ubicarJugador(Jugador j) {
		
		if (mesaEnJuego.getJugadores().contains(j)){
			mesaUsada= mesaEnJuego;
			mesaEnJuego = new Mesa();
			mesaEnJuego.agregarJugador(j);
		}
		else{ 
			mesaEnJuego.agregarJugador(j);
		}
		return j;
	}
}
